package com.ccrfid.rmc6.service.sys;

import com.ccrfid.rmc6.appconfig.exception.pojo.AppException;
import com.ccrfid.rmc6.entity.sys.DictEntity;
import com.ccrfid.rmc6.entity.sys.DictTypeEntity;

import java.util.List;

public interface DictService {
    List<DictTypeEntity> getDictTypeList();
    //
    List<DictEntity> getDictList();
    //
    List<DictEntity> getDictByType(Integer typeId);
    //
    DictEntity getDict(Integer id);
    //
    DictEntity updateDict(Integer id, DictEntity entity) throws AppException;
    //
    List<DictEntity> getDictAndSubDictListById(Integer id);
    List<Integer> getDictAndSubDictIdListById(Integer id);

    List<DictEntity> getFocusedPrisonerTypes();

    List<DictEntity> getRoomManagerTypes();

    List<DictEntity> getPersonnelTypes();

    List<DictEntity> getPersonnelTypeWithSubs();

    List<DictEntity> getLocationTypes();

    List<DictEntity> getAlarmLevels();

    List<DictEntity> getAlarmTypes();

    List<DictEntity> getGuardTypes();

    List<DictEntity> getAlarmLinkageModes();

    //获取视频平台添加时可用的平台类型
    List<DictEntity> getVideoPlatformTypes();

    //获取摄像头添加时可用的设备类型
    List<DictEntity> getVideoCameraTypes();

    //获取某个视频类型值的可选的版本类型
    List<DictEntity> getVideoVersions(Integer dictId);

    //获取摄像头外观类型
    List<DictEntity> getVideoCameraShapes();

    //获取树节点类型：目录/节点
    List<DictEntity> getNodeTypes();
}
